abstracted from experience